\documentclass[12pt, a4paper]{article}
%~ \usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{color}
\usepackage{url}
\definecolor{lnk}{rgb}{0,0,0.4}
\usepackage[colorlinks=true,linkcolor=lnk,citecolor=black,urlcolor=black]{hyperref}
\usepackage{./otros/caratula}
\usepackage{amssymb}			
\usepackage{pdfpages}
\usepackage{makeidx}

\parskip=1.5pt
	
\usepackage[small, bf, labelformat = empty]{caption}	
\usepackage{subfig}
\usepackage{float}
\restylefloat{table}

\makeindex
	
\begin{document}

%~ Carátula
	\titulo{Taller 1 - Capa de Enlace}
	\subtitulo{}
	\fecha{2 de Mayo de 2012. \\}
	\materia{Teor\'ia de las Comunicaciones}
	\integrante{Ciraco, Agustina}{630/06}{agusciraco@gmail.com}	
    \integrante{Heredia Nadia}{589/08}{nheredia@dc.uba.ar}	    
	\maketitle
% Índice
\small
\newpage \printindex \tableofcontents
\normalsize
\newpage

% Descripci\'on de lo que hicimos
%\section{Desarrollo}
% Las preguntas

% Creo que la idea es guiarnos por las preguntas y elaborar un poco
\section{Introducci\'on}
%~ resumen de lo que se hizo
Para realizar este taller se utilizaron las herramientas Wireshark y Scapy. 
Scapy se utiliz\'o para formar y enviar paquetes. 
Estos paquetes se enviaban al servidor provisto por la c\'atedra.
A su vez este servidor respond\'ia al usuario de cada grupo, ubicado en 
una de las PCs del laboratorio ''Turing". \newline
Wireshark fue utilizado para inspeccionar los paquetes que se 
enviaban y recibian de la red. 
Para que fuera m\'as claro el an\'alisis, s\'olo se tuvieron en cuenta 
los paquetes que importaban respectivo el taller.
Para lograrlo, se filtraron aquellos paquetes que eran enviados por 
el grupo o enviados al grupo (desde el servidor).


\section{Primera parte: Anunciaci\'on}
En esta etapa se cre\'o un paquete para la anunciacion cuyos campos 
eran los siguientes: Tipo: 1, ID grupo: NAN, Payload: 0. 

En primera instancia el campo \textbf{Checksum} estaba mal calculado, 
por lo cual al enviar este paquete, se obten\'ia como respuesta de 
parte del servidor ''Paquete mal formado lo siento". 

Luego, se calcul\'o de forma correcta el checksum quedando, finalmente, 
el paquete de la siguiente manera: Tipo: 1, ID grupo: NAN, 
Payload: 0, Checksum: 97. 
En esta ocasi\'on, el servidor respondi\'o 
''Hola NAN" y su direcci\'on MAC, logrando de esta manera el 
inicio de la comunicaci\'on con dicho servidor.

\paragraph{}
Como en esta etapa no se conoc\'ia la direcci\'on MAC del servidor, 
los paquetes de anunciaci\'on se mandaban utilizando Broadcast, de 
esta forma el paquete le llegaba a todas las terminales, 
pero s\'olo respond\'ia el servidor.

\begin{itemize}
    \item   ?`C\'omo se implementa Broadcast por Ethernet? \\
            %~ Todos 1.
            Cuando se env\'ia un mensaje utilizando Broadcast, se 
            env\'ia ese mismo mensaje a la direcci\'on reservada 
            consistente en todos ''1", es decir en hexadecimal, 
            \textbf{FF:FF:FF:FF:FF:FF}
            
    \item   ?`Cu\'al es el payload efectivo que se coloca en el medio?\\
            El payload efectivo es el paquete creado por el grupo, 
            es decir, el que contiene los campos TIPO, ID GRUPO, PAYLOAD, 
            CHECKSUM.
             
            ?`Cu\'anto mide?\\
            El payload efectivo mide la suma de lo que ocupa cada 
            campo en bytes.
            %, en este caso: .\\
            
            ?`Se envió lo que generamos? \\
            S\'i, ya que se pudo observar mediante el Wireshark que 
            el contenido era el deseado.
            %~ El payload es lo que va, mide lo que tiene que medir y 
            %~ obviamente que se env\'ia.
            
    \item   ?`Qu\'e ocurre con el valor del checksum para este tipo 
            de mensajes?\\
            %~ Es siempre el mismo, no me acuerdo cu\'anto justo.
            Si el checksum es correcto, el servidor responde lo que 
            corresponde al usuario, como se indic\'o anteriormente. 
            De no ser este el caso, se responde 
            ''Paquete mal formado lo siento". \newline
            Adem\'as el checksum correcto tiene siempre el mismo valor 
            (97) porque el campo Tipo es 1 y el Payload es 
            necesariamente 0 (por como est\'a definida la estructura 
            de los paquetes).
            
    \item   ?`El servidor hace el mapeo identificador - direcci\'on MAC 
            o s\'olo guarda las direcciones MAC?\\
            Guarda s\'olo direcciones MAC.
            
            ?`Qu\'e mensajes podr\'ian enviarse al servidor para 
            inferir c\'omo es?\\
            Despu\'es de habernos anunciado ante el servidor con el 
            nombre de grupo mencionado, se enviaron mensajes no de 
            anunciaci\'on (con preguntas), directamente a la direcci\'on 
            MAC del servidor pero utilizando otro nombre. 
            Pudimos advertir que el servidor nos respond\'ia 
            normalmente, como si nos hubi\'eramos anunciado, aunque 
            este no era el caso. Por eso pudimos inferir que lo que 
            importaba era la direcci\'on MAC de la m\'aquina, ya que 
            en la anunciaci\'on anterior, con el nombre de grupo 
            original, esta direcci\'on era la misma por tratarse de la 
            misma m\'aquina f\'isica.
            %Se enviaron mensajes usando distinto ID Grupo para inferir 
            %como es, de esta manera se logro ver que se guardaba s\'olo 
            %la direcci\'on MAC y que el nombre de grupo se utilizaba 
            %para el saludo.\\
            %~ S\'olo direcciones MAC, lo probamos mandando mensajes 
            %~ usando un distinto identificador pero desde la misma 
            %~ computadora, y respond\'ia igual.
            
\end{itemize}

\section{Segunda parte: Preguntas y Checksum}
En esta etapa se cre\'o un programa utilizando como base el algoritmo 
provisto en el enunciado del taller. La finalidad de este programa era 
automatizar el c\'alculo del checksum de cada paquete a enviar. 
Luego, se procedi\'o a enviar paquetes con diferentes preguntas sobre 
los pormenores del inminente examen. 
\begin{itemize}
    \item   ?`Qu\'e sucede si enviamos un mensaje cuyo checksum es 
            err\'oneo? \\
            %~ Se rompe todo, checksum incorrecto.
            Si enviamos un mensaje cuyo checksum es err\'oneo, se 
            recibe como respuesta el siguiente mensaje: 
            ''El Checksum no valido. Lo siento". Es decir, que el 
            mensaje no es aceptado.
            
    \item   ?`Qu\'e poder de detecci\'on, medido en caracteres, tiene 
            este algoritmo de checksum?\\
            %~ Baj\'ismo, de un caracter.
            El poder de detecci\'on que tiene este algoritmo de 
            checksum es muy bajo; dado que, si, por ejemplo, dos 
            caracteres llegan modificados por error, pero el checksum 
            da lo mismo que si no tuvieran error, entonces el paquete 
            se considera correcto, cuando no es as\'i.
            
    \item   ?`Consideran que el checksum de este protocolo es 
            suficientemente bueno? ¿Por qu\'e?\\
            %~ No. Porque es malo.
            No, no consideramos que es suficientemente bueno, ya que 
            el poder de detecci\'on es bajo.
    %\item   
\end{itemize}

\end{document}

